% abstract.tex
%
% This file has the abstract for the withesis style documentation
%
% Eric Benedict, Aug 2000
%
% It is provided without warranty on an AS IS basis.

\noindent       % Don't indent this paragraph.
In public cloud, a tenant's network requirement is satisfied by allocating a virtual
overlay network in the physical infrastructure. The cloud controller computes this
allocation. The tenant's distributed application runs inside the virtual network.
There are also two roles of operators - the provider and
tenants. Various network problems may happen in different hierarchies, but the complexity and the
 boundary between the provider and the tenants make it difficult to find the root 
cause of a problem. Existing troubleshooting solutions either focus on one hierarchy
or do not have an insightful perspective in the virtualization environment.
We divide the cloud architecture into three parts physical control plane, physical data plane
and the virtual network, and propose diagnostic solution for each part of them.

\vspace*{0.5em}
\noindent       % Don't indent this paragraph.
We provide a virtual network diagnostic service (VND) to the tenant to help them diagnose problems
inside their virtual networks, including applications in the virtual machine and their middlebox
configurations. It preserves the tenant's abstracted view of virtual network,
and responds to tenant's network diagnostic request; then VND collects packet traces of the tenant's
application traffic; finally, VND provide an SQL interface to the tenant to ease their diagnostic 
operations.

\vspace*{0.5em}
\noindent       % Don't indent this paragraph.
To solve the problems in the physical control plane, we provide CPD. CPD uses sFlow to sample
traffic in the infrastructure, and compute the actual forwarding graph of each tenant. Then CPD
compare this actual forwarding graph with the tenant's virtual network request, to verify whether
the virtual network request is correctly deployed to the physical devices. To speed up the analysis,
we make use of MapReduce programming model.

\vspace*{0.5em}
\noindent
Finally, we propose a physical data plane solution (DPD) to diagnose the performance problem
in the control plane. DPD instruments statistics along the datapath of virtual links. DPD transforms
the virtual network graph into a buffer/queue/process graph, and finds the root cause of the 
performance if a bottleneck appears.  
